<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PF: 起步</title>
<link rev="made" href="mailto:www@openbsd.org">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="resource-type" content="document">
<meta name="description"   content="the OpenBSD FAQ page">
<meta name="keywords"      content="openbsd,faq,pf">
<meta name="distribution"  content="global">
</head>

<!--
Copyright (c) 2003, Nick Holland <nick@openbsd.org>
Copyright (c) 2003, 2004, Joel Knight <enabled@myrealbox.com>

Permission to use, copy, modify, and distribute this documentation for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all copies.

THE DOCUMENTATION IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS DOCUMENTATION INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS DOCUMENTATION
-->

<body bgcolor="#ffffff" text="#000000">
<!-- Passes validator.w3.org, please keep it this way;
please, use a max of 72 chars per line -->

<a href="../../../zh/index.html">
<img alt="[OpenBSD]" height=30 width=141
    src="../../../images/smalltitle.gif" border="0">
</a>
<p>
[<a href="index.html">索引</a>]
[<a href="macros.html">下页: 列表与宏</a>]

<p>
<h1><font color="#e00000">PF: 起步</font></h1>

<hr>

<h3>目录</h3>
<ul>
<li><a href="#activate">启用</a>
<li><a href="#config">配置</a>
<li><a href="#control">控制</a>
</ul>

<hr>

<a name="activate"></a>
<h2>启用</h2>
启用 PF 并且让它在系统启动时读取配置文件，增加
<blockquote>
<tt>
pf=YES
</tt>
</blockquote>
到文件
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf.local&amp;sektion=8"
>/etc/rc.conf.local</a> 中。

<p>
重启系统让它生效。

<p>
你也可以使用
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.3"
>pfctl(8)</a> 程序来启用或关闭 PF:

<blockquote>
<tt>
# pfctl -e<br>
# pfctl -d
</tt>
</blockquote>

<p>
这两个命令分别它们启用和关闭 PF。
注意它只是启用和关闭 PF，不会加载规则。规则必须在启用 PF 之前或其后单独加载。

<a name="config"></a>
<h2>配置</h2>
<p>
在启动时，PF 从文件
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pf.conf&amp;sektion=5&amp;manpath=OpenBSD+4.3"
><tt>/etc/pf.conf</tt></a> 读取过滤规则，它是被
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc&amp;sektion=8"
>rc 脚本</a>加载的。注意
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pf.conf&amp;sektion=5&amp;manpath=OpenBSD+4.3"
><tt>/etc/pf.conf</tt></a> 是默认配置文件，被系统 rc 脚本加载，它只是被
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.3"
>pfctl(8)</a> 加载和解析执行的文本文件，插入到
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pf&amp;sektion=4&amp;manpath=OpenBSD+4.3"
>pf(4)</a> 中。某些应用可能在系统启动后，从其它文件加载附加的过滤规则。
与任一很好设计的 Unix 应用类似，PF 提供了很好的适应性。

<p>
文件 <tt>pf.conf</tt> 有七个部分:
<ul>
<li><b><a href="macros.html">宏:</a></b> 用户定义的变量，保存
    IP，接口名称等。
<li><b><a href="tables.html">表:</a></b> 保存 IP 列表的结构。
<li><b><a href="../options.html">选项:</a></b> 控制 PF 工作的选项。
<li><b><a href="scrub.html">擦洗:</a></b> 将包标准化和整理碎片。
<li><b><a href="../queueing.html">队列:</a></b> 提供带宽和优先级的控制。
<li><b><a href="../nat.html">转换:</a></b> 网络地址转换和<a
    href="../rdr.html">端口转发</a>。
<li><b><a href="../filter.html">过滤器规则:</a></b>选择性阻塞或放行任意网络接口的包
</ul>

<p>
除了 macros 和 tables
之外，在配置文件中的节都应该按照上述次序出现，尽管不是任何应用都包含全部节。
<p>
忽略空行，以 <tt>#</tt> 开始的行是注释。

<a name="control"></a>
<h2>控制</h2>
启动之后，可以使用
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.3"
>pfctl(8)</a> 程序来控制 PF 操作。下面是一些例子:

<pre>
     # pfctl -f /etc/pf.conf     <i>加载文件</i>
     # pfctl -nf /etc/pf.conf    <i>解析文件，但是不加载</i>
     # pfctl -Nf /etc/pf.conf    <i>只从文件中加载 NAT 规则</i>
     # pfctl -Rf /etc/pf.conf    <i>只从文件中加载过滤器规则</i>

     # pfctl -sn                 <i>显示当前的 NAT 规则</i>
     # pfctl -sr                 <i>显示当前的过滤器规则</i>
     # pfctl -ss                 <i>显示当前的状态表</i>
     # pfctl -si                 <i>显示过滤器统计信息和计数器</i>
     # pfctl -sa                 <i>显示一切信息</i>
</pre>

<p>
完整的命令列表在
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.3"
>pfctl(8) 手册页</a>。

<p>
[<a href="index.html">索引</a>]
[<a href="macros.html">下页: 列表与宏</a>]

<p>
<hr>
<a href="index.html"><img height="24" width="24"
    src="../../../images/back.gif" border="0" alt="[back]"></a>
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br>
<small>$OpenBSD: config.html,v 1.24 2008/07/27 17:13:47 nick Exp $</small>

</body>
</html>
<!--
Originally [OpenBSD: config.html,v 1.24]<br>
$Translation: config.html,v 1.3 2008/08/05 04:10:02 dongsheng Exp $<br>
-->
